package com.xiaoq.apis.interpreter;

import com.xiaoq.apis.order.InterCalendar4UpdateVo;

import java.util.List;

public interface IInterpreterApi {
	InterpreterInfo4SocialVo getInterpreterInfo4Social(String id);

	/**
	 *  根据orderIdList 获取用户的所有预约讲解员的日历订单
	 * @param orderIdList
	 * @return
	 */
	List<InterCalendar4OrderVo> getInterCalendarList(List<String> orderIdList);

	/**
	 *  根据orderId 获取用户的预约讲解员的日历订单
	 * @param orderId
	 * @return
	 */
	InterCalendar4OrderVo getInterCalendar(String orderId);

	/**
	 *  得到讲解员待确认讲解的数量
	 * @param userId 用户ID
	 * @return
	 */
	long getInterWaitConfirmCount(String userId);

	/**
	 *  根据interCalendar4UpdateVo中的orderId更新讲解员日历
	 * @param interCalendar4UpdateVo
	 * @return
	 */
	boolean updateInterCalenarByOrderId(InterCalendar4UpdateVo interCalendar4UpdateVo);

	/**
	 *  将讲解员的状态 置为 服务中（已付款，不可预约）
	 *  即 讲解员结束服务
	 * @param interId 讲解员ID
	 * @param shopId 店ID
	 * @return
	 */
	boolean updateInter2Serving(String interId, String shopId);

	/**
	 *  将讲解员的状态 置为 待服务中（已提交订单，未付款，不可预约）
	 * @param interId 讲解员ID
	 * @param shopId 店ID
	 * @return
	 */
	boolean updateInter2WaitService(String interId, String shopId);

	/**
	 *  将讲解员的状态 置为 待服务中（可预约状态）
	 * @param interId 讲解员ID
	 * @param shopId 店ID
	 * @return
	 */
	boolean updateInter2CanAppoint(String interId, String shopId);

	/**
	 *  获取讲解员信息
	 * @param interId 讲解员ID
	 * @return
	 */
	Interpreter4OrderVo getInterByInterId(String interId);

	/**
	 *  用户ID获取讲解员信息
	 * @param userId 用户ID
	 * @return
	 */
	Interpreter4OrderVo getInterByUserId(String userId);

	/**
	 *  修改讲解员日历状态，改为status
	 * @param orderId 订单ID
	 * @param status 见ConstantUtil
	 * @return
	 */
	boolean updateInterCalendarStatus(String orderId, Integer status);

	/**
	 * 根据电话 查找 讲解员
	 * @param mobile
	 * @return
	 */
	Inter4UserVo getInterByMobile(String mobile);

	/**
	 *  根据inter4UserVo 中讲解员Id,更新讲解员的userId
	 * @param inter4UserVo
	 * @return
	 */
	boolean updateInterUserIdByInterId(Inter4UserVo inter4UserVo);
}
